package com.kingbook.core.annotations;

import com.alibaba.fastjson.JSONArray;
import org.springframework.core.annotation.AliasFor;

import java.lang.annotation.*;
import java.util.Map;

/**
 * 检查方法的集合参数必须包含所需要的属性，如果没有该属性 throw ParamsException
 * mapName 集合名称，默认名称'param'
 * properties 集合必须包含的属性
 *
 * @Author: Bucky
 * @Date: 2019/1/2
 * @Version 1.0
 */
@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.FIELD, ElementType.METHOD})
public @interface ContainProperties {

    String mapName() default "param";

    //	@AliasFor("properties")
    String[] value() default {};

    PropertieVerify[] properties() default {};
}
